カーネルをアップデートしてもAmazon Inspectorで検知するときの対応
Amazon Inspectorを使うと、EC2のCVEなどの脆弱性があるか診断できます。脆弱性のあるカーネルをアップデートしてもInspectorの指摘が出ることがあります。指摘を消したい場合は、古いカーネルを削除することで対応できます。
Inspectorの結果を確認する
検証には、カーネル「4.14.123-86.109.amzn1.x86_64」がインストールされているAmazon Linux 1を使いました。
# uname -r 4.14.123-86.109.amzn1.x86_64 #
InspectorのCVEルールパッケージで診断すると、CVE-2019-3900とCVE-2019-1125が検出されました。
Amazon Linuxの脆弱性に詳細はAmazon Linux Security Centerで確認できます。CVE-2019-3900はこちらを見ると、kernel-4.14.133-88.105が対応バージョンであることがわかります。CVE-2019-1125はこちらから、kernel-4.14.133-88.112が対応バージョンです。「Issue Correction」からyum updateでカーネルをアップデートで対応できることがわかります。また、New Packagesで対応バージョンがわかります。
yum update -y
とOS再起動で全てのパッケージを更新し、カーネルバージョンを確認するとどちらの脆弱性にも対応したバージョンになりました。実行中のバージョンは「4.14.133-88.112」です。
# uname -r 4.14.133-88.112.amzn1.x86_64 #
この状態でInspectorで診断すると新しいカーネルになったにも関わらず、CVE-2019-3900とCVE-2019-1125は検出されます。
インストール済みのカーネルを確認する
Amazon Linux 2では、デフォルトで3世代のカーネルを保持します。カーネルをアップデートしても、Inspectorはインストール済みの古いカーネルを検知します。
# cat /etc/yum.conf | grep install installonly_limit=3 #
rpm -qa kernel
でインストールされたカーネルを確認できます。package-cleanup --oldkernels --count=1
で1世代を残し、古いカーネルを削除します。
# rpm -qa kernel kernel-4.14.123-86.109.amzn1.x86_64 kernel-4.14.133-88.112.amzn1.x86_64 [root@ip-172-31-24-47 ~]# # package-cleanup --oldkernels --count=1 Loaded plugins: priorities, update-motd, upgrade-helper --> Running transaction check ---> Package kernel.x86_64 0:4.14.123-86.109.amzn1 will be erased --> Finished Dependency Resolution Dependencies Resolved ====================================================================================================== Package Arch Version Repository Size ====================================================================================================== Removing: kernel x86_64 4.14.123-86.109.amzn1 installed 94 M Transaction Summary ====================================================================================================== Remove 1 Package Installed size: 94 M Is this ok [y/N]: y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Erasing : kernel-4.14.123-86.109.amzn1.x86_64 1/1 warning: file /lib/modules/4.14.123-86.109.amzn1.x86_64/modules.order: remove failed: No such file or directory warning: file /lib/modules/4.14.123-86.109.amzn1.x86_64/modules.networking: remove failed: No such file or directory warning: file /lib/modules/4.14.123-86.109.amzn1.x86_64/modules.modesetting: remove failed: No such file or directory warning: file /lib/modules/4.14.123-86.109.amzn1.x86_64/modules.drm: remove failed: No such file or directory warning: file /lib/modules/4.14.123-86.109.amzn1.x86_64/modules.builtin: remove failed: No such file or directory warning: file /lib/modules/4.14.123-86.109.amzn1.x86_64/modules.block: remove failed: No such file or directory Verifying : kernel-4.14.123-86.109.amzn1.x86_64 1/1 Removed: kernel.x86_64 0:4.14.123-86.109.amzn1 Complete! # rpm -qa kernel kernel-4.14.133-88.112.amzn1.x86_64 #
Inspectorで診断すると、カーネルの指摘は0になりました。
さいごに
Amazon Inspectorでカーネルの脆弱性を検知した時にカーネルをアップデートしても指摘が出ることがあります。Amazon Linux Security Centerで脆弱性を確認し、対応バージョンを確認できます。Amazon Linux 2はこちらです。カーネルを対応バージョンにアップデートしているにも関わらず、Inspectorで指摘が出た際はこちらの手順をお試しください。